// 引入样式文件
import '@/styles/common.scss'

import { createApp } from 'vue'
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'

// 如果您正在使用CDN引入，请删除下面一行。
// 注册所有图标
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

import App from './App.vue'
import router from './router'

// 定义全局指令
// 导入图片懒加载指令
import { lazyPlugin } from '@/directives'

// 注册全局组件
import { componentPlugin } from '@/components'

const app = createApp(App)

// 注册所有图标
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component)
}

const pinia = createPinia()
pinia.use(piniaPluginPersistedstate) // 注册pinia持久化插件
app.use(pinia) // 注册pinia插件
app.use(router) // 注册路由插件

app.use(lazyPlugin) // 注册图片懒加载指令
app.use(componentPlugin) // 注册全局组件

app.mount('#app')
